/**
 * @properties={typeid:35,uuid:"BF939F18-897B-470B-90C5-59D37DD6DEAB",variableType:-4}
 */
var $NOMBRE_SERVIDOR = globals.$NOMBRE_SERVIDOR;

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"6CB8AE37-D9E1-4B17-BA4F-CD05937E5702"}
 */
var $NOMBRE_TABLA = "adm_t900_roles";

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"C1C42345-76C6-4CC9-B993-8E34F1B27E0F"}
 */
var $DATA_SOURCE = "db:/" + $NOMBRE_SERVIDOR + "/" + $NOMBRE_TABLA;

/**
 * Genera los roles por defecto dado un perfil
 * @author Roberto J. Blasco
 * @version 1.0
 * @param {JSRecord<db:/pigeon_board/adm_t900_perfiles>} record_adm_t900_perfiles
 * @return {Boolean}
 * @properties={typeid:24,uuid:"4385A78D-1728-4232-A75A-ED3A21FD82E7"}
 * @AllowToRunInFind
 */
function generarRoles(record_adm_t900_perfiles){

	if (record_adm_t900_perfiles == null)
		return false;
	
	if (utils.hasRecords(record_adm_t900_perfiles.adm_t900_perfiles_to_adm_t900_roles) == true){
		record_adm_t900_perfiles.adm_t900_perfiles_to_adm_t900_roles.deleteAllRecords();
		databaseManager.saveData(record_adm_t900_perfiles.adm_t900_perfiles_to_adm_t900_roles);
	}
	
	/** @type {JSFoundSet<db:/pigeon_board/adm_t900_roles>} */
	var fs_adm_t900_roles = databaseManager.getFoundSet(scopes.adm_t900_roles.$NOMBRE_SERVIDOR,scopes.adm_t900_roles.$NOMBRE_TABLA);
	var todas_tablas = databaseManager.getTableNames(globals.$NOMBRE_SERVIDOR);
	for (var x = 0; x < todas_tablas.length; x++){
		application.output(todas_tablas[x])
		fs_adm_t900_roles.newRecord();
		fs_adm_t900_roles.adm_t900_perfiles_id = record_adm_t900_perfiles.adm_t900_perfiles_id;
		/** @type {JSFoundSet<db:/pigeon_board/adm_t900_tablas>} */
		var fs_adm_t900_tablas = databaseManager.getFoundSet(scopes.adm_t900_tablas.$DATA_SOURCE);
		fs_adm_t900_tablas.loadAllRecords();
		if (fs_adm_t900_tablas.find()){
			fs_adm_t900_tablas.s_nombre_tabla = todas_tablas[x];
			fs_adm_t900_tablas.search();
		}
		
		fs_adm_t900_roles.adm_t900_tablas_id = fs_adm_t900_tablas.getRecord(1).adm_t900_tablas_id;
		fs_adm_t900_roles.b_tiene_borrado = 0;
		fs_adm_t900_roles.b_tiene_consulta = 0;
		fs_adm_t900_roles.b_tiene_grabacion = 0;
	}
	var bok = databaseManager.saveData(fs_adm_t900_roles);
	return bok;
}
